
package ar.uba.fi.algo3.algoTank;


import ar.uba.fi.algo3.algoTank.Excepciones.JuegoGanadoException;
import ar.uba.fi.algo3.algoTank.pantallas.Pantallas;
import ar.uba.fi.algo3.titiritero.ControladorJuego;

public class Programa {

	  

		public static void main(String[] args) throws InterruptedException, JuegoGanadoException{
			
			 /*
             * Primero instancio el modelo
             */
            Juego juego = new Juego();
            
            /*
             * Luego instancio los objetos del framework: una ventana y el controlador
             */             
            
            ControladorJuego controlador = new ControladorJuego(true);
            controlador.setJuego(juego);
            Pantallas pantallas= new Pantallas(controlador);
        
            pantallas.cargarPantallaPrincipal();

		}
		
}
		
		
		
/*
 * 				
	           
	             * Primero instancio el modelo
	             
	            Juego juego = new Juego();

	           
	             * Luego instancio los objetos del framework: una ventana y el controlador
	                         
	            
	            ControladorJuego controlador = new ControladorJuego(true);
	            controlador.setJuego(juego);
	            
	            juego.cargarNivel();
	            VentanaPrincipal ventana= new VentanaPrincipal(controlador);
	            ventana.setVisible(true);   
	            controlador.setSuperficieDeDibujo(ventana);
	            controlador.agregarKeyPressObservador(new EscuchadorDeKeyPress(juego));

	            	
	            
	             * creo las vistas de la energia, puntos del jugador y energia de la base
	             
	            ObjetoTextoPuntos tex1 = new ObjetoTextoPuntos(juego.getJugador());
	            TextoDinamico texto = new TextoDinamico(tex1);
	            texto.setPosicionable(tex1);
	            controlador.agregarDibujable(texto);
	            
	            ObjetoTextoEnergia tex2 = new ObjetoTextoEnergia(juego.getJugador());
	            TextoDinamico texto2 = new TextoDinamico(tex2);
	            texto2.setPosicionable(tex2);
	            controlador.agregarDibujable(texto2);
	            
	            ObjetoTextoEnergiaBase tex3 = new ObjetoTextoEnergiaBase(juego.getBase());
	            TextoDinamico texto3 = new TextoDinamico(tex3);
	            texto3.setPosicionable(tex3);
	            controlador.agregarDibujable(texto3);
	                     
	            
	              finalmente establezco el intervalo de sleep dentro del gameloop
	              y comienzo a ejecutar
	             
	            
	            controlador.setIntervaloSimulacion(50);
	            try{
	            controlador.comenzarJuego();
	            }
	            catch(JuegoPerdidoException e) {
	            	
	            
	            	
	                 ObjetoTextoPerdedor tex4 = new ObjetoTextoPerdedor();
	                 TextoDinamico texto4 = new TextoDinamico(tex4);
	                 texto4.setPosicionable(tex4);
	               
	                 controlador.dibujar(texto4);
	                  controlador.detenerJuego();
	            	 }
	            
	            catch(JuegoGanadoException e){


	                ObjetoTextoGanador tex5 = new ObjetoTextoGanador();
	                TextoDinamico texto5 = new TextoDinamico(tex5);
	                texto5.setPosicionable(tex5);
	                
	                controlador.dibujar(texto5);
	           
	            	controlador.detenerJuego();
	            }
            	
	            
	    }
		
		*/
	            /*VentanaMenu ventanaMenu= new VentanaMenu(controlador);
	            controlador.setSuperficieDeDibujo(ventanaMenu);
	            VistaPrincipal vistaprincipal = new VistaPrincipal();
	           
	            ObjetoVistaPrincipal obj = new ObjetoVistaPrincipal();
	            vistaprincipal.setPosicionable(obj);
	            
	            ventanaMenu.setVisible(true);
	           
	            controlador.agregarDibujable(vistaprincipal);
	            controlador.getSuperficieDeDibujo().limpiar();
	            controlador.dibujar(vistaprincipal);
	            
	            VistaComenzarJuego vist= new VistaComenzarJuego();
	            ObjetoComenzarJuego obj2= new ObjetoComenzarJuego();
	            vist.setPosicionable(obj2);
	            controlador.dibujar(vist);
	            */
	          
	           

		




		

